﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Kugar.Core.Security
{
    //[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property,AllowMultiple = false, Inherited = true)]
    //public class GetValuePermissionAttribute:Attribute
    //{
    //    private string _permissionName = "";
    //    private int _permissionID =-1;
    //    private object _defaultValue = null;

    //    public  GetValuePermissionAttribute(string permissionName,object defaultValue=null)
    //    {
    //        if (string.IsNullOrWhiteSpace(permissionName))
    //        {
    //            throw new ArgumentOutOfRangeException("permissionName");
    //        }

    //        _permissionName = permissionName;
    //        _defaultValue = defaultValue;
    //    }

    //    public GetValuePermissionAttribute(int permissionID,object defaultValue=null)
    //    {
    //        if (permissionID<0)
    //        {
    //            throw new ArgumentOutOfRangeException("permissionID","权限ID必须大于0");
    //        }

    //        _permissionID = permissionID;
    //        _defaultValue = defaultValue;
    //    }

    //    public object DefaultValue{get { return _defaultValue; }}

    //    public string PermissionName { get { return _permissionName; } }
    //    public int PermissionID { get { return _permissionID;    } }

    //}

    //[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
    //public class SetValuePermissionAttribute : Attribute
    //{
    //    private string _permissionName = "";
    //    private int _permissionID = -1;
        

    //    public SetValuePermissionAttribute(string permissionName)
    //    {
    //        if (string.IsNullOrWhiteSpace(permissionName))
    //        {
    //            throw new ArgumentOutOfRangeException("permissionName");
    //        }

    //        _permissionName = permissionName;
            
    //    }

    //    public SetValuePermissionAttribute(int permissionID)
    //    {
    //        if (permissionID < 0)
    //        {
    //            throw new ArgumentOutOfRangeException("permissionID", "权限ID必须大于0");
    //        }

    //        _permissionID = permissionID;
    //    }

    //    public string PermissionName { get { return _permissionName; } }
    //    public int PermissionID { get { return _permissionID; } }
    //}

    //[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
    //public class InvokePermissionAttribute:Attribute
    //{
    //    private string _permissionName = "";
    //    private int _permissionID = -1;

    //    public InvokePermissionAttribute(string permissionName,)
    //    {
    //        if (string.IsNullOrWhiteSpace(permissionName))
    //        {
    //            throw new ArgumentOutOfRangeException("permissionName");
    //        }

    //        _permissionName = permissionName;
    //    }

    //    public InvokePermissionAttribute(int permissionID)
    //    {
    //        if (permissionID < 0)
    //        {
    //            throw new ArgumentOutOfRangeException("permissionID", "权限ID必须大于0");
    //        }

    //        _permissionID = permissionID;
    //    }

    //    public string PermissionName { get { return _permissionName; } }
    //    public int PermissionID { get { return _permissionID; } }
    //}
}
